package com.example.demo.api.ecom;

import com.example.demo.bean.vo.PayMentNewVO;
import com.github.lianjiatech.retrofit.spring.boot.annotation.RetrofitClient;
import retrofit2.http.*;

@RetrofitClient(baseUrl = "${ecom.account.base}")
public interface AccountApi {
    /**
     * <p> 配置: wallet.host (@Value)
     * <p> 请求头: apikey
     *
     * @param user     用户ID
     * @param authType LENOVOID
     * @param language EN
     * @return
     */
    @GET("api/v1/profile/payment/all")
    Object paymentAll(@Query("user") String user, @Query("authType")String authType, @Query("language")String language);

    /**
     * <p> 配置: wallet.host (@Value)
     * <p> 请求头: apikey
     *
     * @param payMentNewVO 支付信息
     * @return
     */
    @PATCH("api/v1/profile/payment/save")
    Object patchPayment(@Body PayMentNewVO payMentNewVO);

    /**
     * <p> 配置: wallet.host (@Value)
     * <p> 请求头: apikey
     *
     * @param user     用户ID
     * @param authType LENOVOID
     * @return
     */
    @DELETE("api/v1/profile/payment/{itemId}")
    Object deletePayment(@Path("itemId") String itemId,@Query("user")String user, @Query("authType")String authType);

    /**
     * <p> 配置: wallet.host (@Value)
     * <p> 请求头: apikey
     *
     * @param user     用户ID
     * @param authType LENOVOID
     * @param language EN
     * @return
     */
    @GET("api/v1/profile/payment/subscriptioncard")
    Object getSubscription(@Query("user")String user,@Query("authType") String authType, @Query("language")String language);

    /*******************************************************SMB********************************************************/
    /**
     * <p>配置:  ms.ecom.smb.member.host  (@Value)
     * <p> 请求头: apikey
     *
     * @return
     */
    @GET("smb.uat/api/v1/smb/smbUser/getByUid/forAlc")
    Object getSmbUser(@Query("uid") String uid);

    /**
     * <p>配置:  ms.ecom.smb.member.host  (@Value)
     * <p> 请求头: apikey
     *
     * @return
     */
    @GET("smb.uat/api/v1/smb/customGroup/getByGid/forAlc")
    Object customGroup(@Query("coustomerGroupId")  String coustomerGroupId);
}
